package com.cc.mall.service;

import com.alipay.api.AlipayApiException;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cc.mall.entity.OfflineOrderProductEntity;
import com.cc.mall.entity.ProductDetailEntity;
import com.cc.mall.vo.*;

import java.util.List;
import java.util.Map;
import java.util.concurrent.ExecutionException;

/**
 * 
 *
 * @author leifengyang
 * @email leifengyang@gmail.com
 * @date 2020-12-11 15:11:54
 */
public interface ProductDetailService extends IService<ProductDetailEntity> {

    void addToCart(Long skuId, Integer num, Long uid);

    Cart getCart(Long uid);

    void deleteCartItem(Long[] skuIds, Long uid);

    void updateStatus(Long[] skuIds, Long uid);

    Long  createOrder(Long[] skuIds, Long uid, Long cid,Long rid) throws AlipayApiException, ExecutionException, InterruptedException;

    OrderVo toTrade(Long[] skuIds, Long uid);

    List<OrderVo> getOrderByUid(Long uid,Integer type,Integer status) throws ExecutionException, InterruptedException;

    String payOrder(Long orderId) throws AlipayApiException;

    void removeOrder(Long orderId,Integer orderType);

    void confirmRecieve(Long orderId, Integer orderType);

    List<Long> checkProductOver(Long[] skuIds);

    List<Kucun> getOnlineKucun();

    List<Kucun> getOfflineKucun();

    void addToCart2(Long skuId, Integer num, Long uid);

    List<ProductDetailEntity> koukucun(Long orderId);

    void plgxKucun(List<OfflineOrderProductEntity> offlineOrderProductEntities);

    void koukucun2(List<CartItem> cartItemList);
}

